<?php

// 根据你的实际 /vendor/autoload.php 路径
require_once __DIR__ . "/vendor/autoload.php";

use Kingbes\Raylib\Core; //核心
use Kingbes\Raylib\Text; // 文本
use Kingbes\Raylib\Utils; // 工具类

/** 文字演示 */
Core::initWindow(800, 450, "Hello World"); //初始化窗口

Core::setTargetFPS(60); //设置目标帧率

// 白色
$white = Utils::color(255, 255, 255);

// 绿色
$green = Utils::color(0, 255, 0);

// 红色
$red = Utils::color(255, 0, 0);

// 计数器
$counter = 0;

// 初始 x 和 y 坐标
$x = 190;
$y = 200;

// 移动速度
$speed = 1;

// 振幅（S 型曲线的上下波动范围）
$amplitude = 50;

// 获取窗口宽度
$windowWidth = 800;

// 主循环
while (!Core::windowShouldClose()) {
    Core::beginDrawing(); //开始绘制

    Core::clearBackground($white); // 清除背景

    // 每 30 帧切换一次颜色
    if ($counter % 30 < 15) {
        $textColor = $green;
    } else {
        $textColor = $red;
    }

    // 计算 S 型路线的 y 坐标
    $y = 200 + $amplitude * sin($x / 50);

    // 移动 x 坐标
    $x += $speed;

    // 边界检查
    if ($x > $windowWidth) {
        $x = -100; // 让文字从窗口左侧重新出现
    }

    // 绘制文本
    Text::drawText("Hello World", $x, $y, 20, $textColor);

    // 计数器加 1
    $counter++;

    Core::endDrawing(); // 结束绘制
}

// 关闭窗口
Core::closeWindow();